package com.itheima.d8_generics_method;

import java.util.ArrayList;

/*
    1 泛型方法
        修饰符 <类型变量，类型变量，…>  返回值类型 方法名(形参列表) { }
    2 通配符
        就是 “?” ，可以在“使用泛型”的时候代表一切类型；  E T K V 是在定义泛型的时候使用。
    3 泛型的上下限(受限泛型)
        泛型上限:   ? extends Car :   ?  能接收的必须是Car或者其子类 。
        泛型下限：  ?  super Car :   ?  能接收的必须是Car或者其父类。
 */
/*
    泛型的注意事项
        1、泛型是工作在编译阶段的，一旦程序编译成class文件，class文件中就不存在泛型了，这就是泛型擦除。
        2、泛型不支持基本数据类型，只能支持对象类型（引用数据类型）
 */
public class Test {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("明日方舟");
        String s = arrayList.get(0);
        System.out.println(s);
        //泛型不支持基本数据类型，只能支持引用数据类型
        ArrayList<Integer> ints = new ArrayList<>();
        ints.add(12);
    }
}
